C++多线程与并发编程实战

📚 共计 30 章节
第01章
C++并发编程入门
为什么需要并发?进程与线程的区别、C++11线程库概述、第一个线程程序。
基础线程
第02章
线程管理基础
创建线程的多种方式、线程的join与detach、线程参数传递、线程ID与句柄。
管理生命周期
第03章
互斥量与锁
std::mutex基础、lock_guard与unique_lock、死锁的产生与避免、std::recursive_mutex。
同步
第04章
条件变量与同步
std::condition_variable、生产者-消费者模型、wait与notify机制、虚假唤醒处理。
条件变量经典模型
第05章
原子操作与内存序
std::atomic基础、原子类型与操作、内存序模型、无锁编程入门。
原子内存序
第06章
future与async
std::async与std::future、std::promise与std::packaged_task、shared_future、超时处理。
异步future
第07章
线程安全容器
线程安全队列实现、线程安全栈实现、读写锁(shared_mutex)、并发容器的设计原则。
容器安全
第08章
线程池实现
线程池设计原理、固定大小线程池、动态线程池、任务窃取(work-stealing)概念。
线程池性能
第09章
并行算法
std::for_each并行版本、std::reduce与std::transform_reduce、执行策略、C++17并行STL。
并行STL算法
第10章
内存模型与数据竞争
C++内存模型基础、happens-before关系、数据竞争的定义与检测、volatile与atomic的区别。
内存模型数据竞争
第11章
锁的优化技术
细粒度锁、锁分段(lock striping)、读写锁优化、无锁数据结构基础。
优化无锁
第12章
并发设计模式
生产者-消费者模式、读者-写者模式、线程安全单例模式、屏障(barrier)模式。
设计模式架构
第13章
C++20协程入门
协程概念与优势、co_await/co_return/co_yield、promise_type与awaiter、协程与线程对比。
协程C++20
第14章
协程实战
生成器实现、异步I/O协程、协程与线程池结合、协程性能分析。
实战异步
第15章
并发调试与工具
GDB多线程调试、ThreadSanitizer使用、Valgrind与Helgrind、性能分析工具。
调试工具
第16章
线程安全智能指针
shared_ptr的线程安全性、weak_ptr与循环引用、atomic智能指针、自定义删除器。
智能指针安全
第17章
并发哈希表实现
设计目标与挑战、分段锁实现、无锁哈希表(Hazard Pointer)、性能对比测试。
哈希表无锁
第18章
消息传递与Actor模型
Actor模型概念、CSP与Actor对比、使用channel实现Actor、ZeroMQ与并发。
Actor消息
第19章
GPU并行编程入门
CUDA基础概念、GPU线程模型、CPU与GPU协作、cuBLAS简单示例。
GPUCUDA
第20章
SIMD与向量化
SSE/AVX指令集入门、自动向量化与手动向量化、使用Intel Intrinsics、性能收益分析。
SIMD向量化
第21章
并发网络编程
Reactor与Proactor模式、多线程事件循环、线程安全socket操作、异步DNS解析。
网络事件循环
第22章
数据库并发控制
事务隔离级别、乐观锁与悲观锁、MVCC原理、连接池的线程安全实现。
数据库事务
第23章
实时系统与并发
实时调度策略、优先级反转与解决、锁的实时性影响、RTOS中的并发原语。
实时调度
第24章
分布式系统并发
分布式锁(etcd/zookeeper)、Raft共识算法简介、CAP理论与并发、gRPC异步调用。
分布式共识
第25章
性能调优实战
锁竞争优化、缓存行与伪共享、NUMA感知编程、CPU亲和性设置。
调优缓存
第26章
并发测试与验证
压力测试设计、确定性测试、模型检查(model checking)、模糊测试(fuzzing)并发代码。
测试验证
第27章
C++标准库并发演进
C++11到C++23的并发特性、jthread与stop_token、std::latch与std::barrier、std::counting_semaphore。
标准库演进
第28章
跨平台并发编程
Windows线程API、POSIX线程(pthreads)、跨平台封装策略、使用Boost.Thread。
跨平台pthreads
第29章
高级内存管理
内存池的线程安全实现、Hazard Pointer详解、RCU(Read-Copy-Update)机制、Epoch-Based Reclamation。
内存管理RCU
第30章
综合实战项目
高性能日志系统、并发Web服务器、并行图像处理管线、多线程游戏引擎核心。
项目综合